// import XtxSkeleton from './library/xtx-skeleton.vue'
// import XtxCarousel from './library/xtx-carousel.vue'
// import XtxMore from './library/xtx-more.vue'
// import XtxBreadcrumb from './library/xtx-breadcrumb.vue'
// import XtxInfiniteLoading from './library/xtx-infinite-loading.vue'
// import XtxCity from './library/xtx-city.vue'
// import XtxNumbox from './library/xtx-numbox.vue'
// import XtxTabs from './library/xtx-tabs.vue'
// import XtxTabsPanel from './library/xtx-tabs-panel.vue'
// import XtxSteps from './library/xtx-steps.vue'
// export default {
//   install (app) {
//     // 在app上进行扩展，app提供 component directive 函数
//     // 如果要挂载原型 app.config.globalProperties 方式
//     app.component(XtxSkeleton.name, XtxSkeleton),
//     app.component(XtxCarousel.name , XtxCarousel),
//     app.component(XtxMore.name , XtxMore),
//     app.component(XtxBreadcrumb.name , XtxBreadcrumb),
//     app.component(XtxInfiniteLoading.name , XtxInfiniteLoading),
//     app.component(XtxCity.name , XtxCity),
//     app.component(XtxNumbox.name,XtxNumbox),
//     app.component(XtxTabs.name,XtxTabs),
//     app.component(XtxTabsPanel.name,XtxTabsPanel),
//     app.component(XtxSteps.name,XtxSteps)
//   }
// }



// 使用 `require` 提供的函数 `context`  加载某一个目录下的所有 `.vue` 后缀的文件。
// 然后 `context` 函数会返回一个导入函数 `importFn`
// - 它又一个属性 `keys() `  获取所有的文件路径
// 通过文件路径数组，通过遍历数组，再使用 `importFn`  根据路径导入组件对象
// 遍历的同时进行全局注册即可
// context(目录路径，是否加载子目录，加载文件的匹配正则)
const importFn = require.context('./library', false, /\.vue$/)
export default {
  install (app) {
    // 根据keys批量注册
    importFn.keys().forEach(path => {
      // 导入组件
      const component = importFn(path).default
      // 进行注册
      app.component(component.name, component)
    })
  }
}

